1. Field of the Invention
The present invention relates to an apparatus and method for the presentation of data in graphical form and more particularly to the scaling of graphical representations of selected data from a series of data.
2. Description of the Related Art
A common data analysis task is to graphically present a series of numerical data associated with a particular concept. The concept may or may not be directly related to a physical object. The data may be displayed on a computer display screen (or alternatively printed) in the form of a xe2x80x9cbar chartxe2x80x9d where each bar represents data associated with an object e.g. a physical device, and the length of each xe2x80x9cbarxe2x80x9d represents the numerical value for the data. For example, in network management, a numerical data series representing the concept of the quantity of data packets sent and received by devices on the network may be displayed in the bar chart, where each bar represents a particular network device and the length of each bar represents the quantity of data packets sent and received by the device.
Sometimes there are a group of concepts, associated with the same objects, each with their own associated data series. The concepts may be related and the numerical data values may be expressed in the same unit. Thus, the data for the group of concepts might conveniently be displayed in the same bar chart. It is a common technique to display related groups of data for a particular object in a single bar with a number of ordered and proportionally sized related segmentsxe2x80x94each segment representing a different datum from the group. This is known as a xe2x80x9cstacked barxe2x80x9d. A stacked bar chart displays a plurality of these stacked bars with each stacked bar representing data relating to an object such as a physical device. Often the stacked bars are presented in the bar chart in a particular order. For instance, the bars may be ordered by the sum of the data values for all the data groups from largest to smallest, i.e. ordered by the length of the stacked bars from longest to shortest.
One example of the use of stacked bar charts is in network management in which numerical data relating to a group of concepts, such as the quantity of data packets using different protocols sent and received from devices on the network, may be conveniently displayed together in a single stacked bar chart. In such an example, each bar relates to a particular network device, each segment of a bar represents the quantity of data sent and received by the device using a particular network protocol, and the sum of the segments represents the total quantity of data packets sent and received by the device.
FIG. 1 shows an example of such a stacked bar chart used in network management as described above. The bar chart is displayed in a xe2x80x9cwindowxe2x80x9d on a computer display screen. The stacked bars are displayed as an ordered series of horizontally extending bars with the top bar representing the device having the largest number of associated data packets and the bottom bar representing the device having the smallest number of data packets associated with it. It will be noted that every bar in the chart is represented using the same, linear scale along its length, i.e. across the width of the window. The length of the topmost bar is scaled to occupy the full width of the window, leaving appropriate margins, and the remaining bars are represented according to the same scaling factor. Since the scale is linear, segments of the bars having the same length represent the same quantitative data value.
A problem with presenting bar charts as an ordered series of bars having the same linear scale is that if there is a large number of data values represented in the chart, and a large variation in numerical data values in the data series, the bars relating to the smaller numerical values may be rendered too small to distinguish each of the stacked segments on the display.
A known solution to this problem is to employ xe2x80x9clogarithmic scalingxe2x80x9d. In this method, the numerical data values are presented in a bar having a logarithmic scale along its length. FIG. 2 shows the numerical data values represented in the linearly scaled bar chart of FIG. 1 presented in a logarithmically scaled bar chart. As can be seen from FIG. 2, logarithmic scaling gives increased space for representing data at the low end of the scale (in FIG. 2 the left hand side). This means that data at the low end of the scale is presented in greater detail than data at the high end of the scale. Thus the smaller bars, at the bottom of the chart of FIG. 2, occupy more space than they occupied using linear scaling as in FIG. 1. Consequently, the segments of these smaller stacked bars can be visually identified since they are presented in more detail, thus overcoming the aforementioned problems associated with linear scaling.
However, logarithmic scaling has a number of disadvantages. Firstly, the sizes of the bars and individual segments are no longer linearly related. In particular, because the scale is logarithmic, two adjacent segments of the same length in the same bar do not equate to the same numerical quantity (e.g. number of data packets) and so the viewer has more difficulty in comparing relative values associated with segments in the same bar. In addition, for large bars, segments representing relatively large data quantities at the high end of the scale are shown closer together and are therefore no longer visibly distinguished. This is because large data values at the high end of the logarithmic scale are represented by short segments. Finally, since in most uses, large data values are considered to be more significant than smaller values, associating large bars with relatively small data quantities may be confusing to the viewer.
The present invention seeks to overcome the disadvantages of these prior art methods.
In accordance with a first aspect, the present invention provides a method for graphically presenting a selected set of data values of a series of data values in a predetermined presentation area, the method comprising: determining the largest data value within the selected set of data values; determining a scaling factor for scaling the determined largest data value to a lateral dimension of the presentation area; applying the determined scaling factor to all the data values in the set of data values to provide a scaled set of data values, and graphically presenting the scaled set of data values within the presentation area.
Thus, the present invention provides a method by which the bars can be dynamically scaled as a result of selection of a set of data values by the user so as to make the best and most informative use of the display space available for the chart.
In accordance with a second aspect, the present invention provides a computer program for carrying out the method in accordance with the first aspect of the present invention.